using System;

namespace UnitTesting.Fixturing
{
	public interface IFreezable
	{
		bool IsFrozen(Type type);

		void Freeze<T>(T instance);
		void Freeze<T>(Func<T> factory);

		void UnfreezeAll();
		void Unfreeze(Type type);
	}
}